ngl: Treat radial gradients like others
authorMatthias Clasen <mclasen@redhat.com>
Sun, 7 Mar 2021 15:17:34 +0000 (10:17 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Sun, 7 Mar 2021 15:18:47 +0000 (10:18 -0500)
Handle colorstop overflow for radial gradients
the same way we do for linear and conic gradients.

gsk/ngl/gsknglrenderjob.c

index 21bd4ebfa09caf165b6095bcae4ef3e056bcaeb0..f2dec8d9e8ce1b1e6c039567753f5a2622e4bb6c 100644 (file)
@@ -3355,7 +3355,10 @@ gsk_ngl_render_job_visit_node (GskNglRenderJob     *job,
 
     case GSK_RADIAL_GRADIENT_NODE:
     case GSK_REPEATING_RADIAL_GRADIENT_NODE:
-      gsk_ngl_render_job_visit_radial_gradient_node (job, node);
+      if (gsk_radial_gradient_node_get_n_color_stops (node) < MAX_GRADIENT_STOPS)
+        gsk_ngl_render_job_visit_radial_gradient_node (job, node);
+      else
+        gsk_ngl_render_job_visit_as_fallback (job, node);
     break;
 
     case GSK_REPEAT_NODE: